﻿using System;

namespace Viyi.Util.Config
{
    /// <summary>
    /// 为提供只读的配置类提供基本的数据支持。
    /// </summary>
    public class ReadOnlyableConfig
    {
        /// <summary>
        /// 获取当前配置对象是否只读。
        /// 只读的配置对象不能使用其设置选项的方法。
        /// </summary>
        public bool IsReadOnly { get; protected set; }

        /// <summary>
        /// 检查是否只读，如果是只读，抛出异常
        /// </summary>
        protected void ThrowIfReadOnly()
        {
            if (IsReadOnly)
            {
                throw new InvalidOperationException("当前配置对象是只读的");
            }
        }
    }
}